package org.example.tool.functioncalling;

import dev.langchain4j.agent.tool.P;
import dev.langchain4j.agent.tool.Tool;
import dev.langchain4j.agent.tool.ToolMemoryId;
import org.springframework.stereotype.Component;

/**
 * 计算器工具类
 * 提供基本的数学计算功能
 */
@Component
public class CalculatorTools {

    /**
     * 执行加法计算
     * @param memoeryId 工具内存ID，用于标识工具调用的上下文
     * @param a 加数1，参与加法运算的第一个数值
     * @param b 加数2，参与加法运算的第二个数值
     * @return 两个数值的和
     */
    @Tool(name="sum",value="加法计算")
    double sum (@ToolMemoryId int memoeryId,
                @P(value="加数1", required = true) double a,
                @P(value ="加数2",required = true) double b){
        // 打印内存ID和调用信息，用于调试跟踪
        System.out.println(memoeryId);
        System.out.println("加法调用");
        return a + b;
    }
}
